System and method for detecting unknown TV commercials from a live TV stream

ABSTRACT

Unknown potential commercials are detected in a video data stream that contains segments of program type content, and blocks of commercial content. Each block includes a plurality of successive individual commercials. A library of known commercials is maintained in a first database. A video data stream is received in a video processing engine which includes a search engine that is in communication with the first database. The search engine identifies all known commercials in the video data stream and their respective start and end times. The video processing engine identifies all time segments that are sandwiched between the known commercials. The video processing engine filters out as a potential commercial any identified time segments that are significantly longer than the time length of a commercial. The video processing engine designates content of each of the time segments that were not filtered out as being one or more unknown potential commercials.

BACKGROUND OF THE INVENTION

TV advertising commercials exist in virtually all video data streams,subsidizing some or all of the cost of providing the content to theviewer. The ability to identify where the commercials exist in the videodata stream has become an important goal for two main reasons. First,advertisers who pay to place the commercials wish to verify that thecommercials were actually played, either by being “aired” during abroadcast, or “streamed” during an internet-based viewing session. Theauditing process can be greatly enhanced if commercials can beidentified as they are being played so that there can be a recordationto document the airing or streaming. Second, technology built into avideo playing device, or executing concurrently with a video playingdevice, can “skip” commercials, assuming that the location of thecommercials can be accurately identified so that no programming isskipped. Some conventional technology for identifying where commercialsexist in a video data stream is described in an article entitled“Automatic Detection of TV Commercials” (Satterwhite, B.; Marques, O.;Potentials, IEEE, Volume 23, Issue 2, April-May 2004 pp. 9-12).Satterwhite et al. describes two main categories of methods fordetecting commercials, namely, “feature-based detection” and“recognition-based detection.” Feature-based detection uses generalcharacteristics of commercials to detect their possible presence.Recognition-based detection works by trying to match commercials withones that were already learned. Some general characteristics(heuristics) of commercials and commercial breaks include the following:

i. Multiple frames of black are displayed at the beginning and end ofeach commercial block and between each commercial in the block. There isno audio during these frames.

ii. If a network displays a logo in the corner of the screen, the logowill not appear during the commercials.

iii. Duration is typically some increment of 15 seconds, up to 90seconds.

iv. Commercials are high in “action,” measured by a relatively largernumber of cuts per minute between frames compared to a TV show.

v. Commercial breaks tend to occur at the same time or near the sametime in each episode of a given TV series.

Recently, a third reason has arisen to identify where the commercialsexist in a video data stream. Mobile devices (e.g., tablets,smartphones) are now in heavy use while viewers watch television (TV).This provides a new platform for synchronized advertising delivery,wherein the TV advertiser may extend their reach to the mobile device.For example, when a particular commercial is airing on, or streaming to,the TV, another commercial may be delivered to the mobile device ineither near real-time or in a coordinated delayed time. The mobile admay be for the same or different product or service as shown in thecommercial that was aired on, or streamed to, the TV. To implement sucha system, the commercial that was aired on, or streamed to, the TV mustbe able to be instantly identified.

To facilitate such a system, a database of commercials is maintained sothat near real-time matching and identification occurs as a commercialis aired or streamed to a TV. However, each day a small, but significantpercentage of commercials are new, and thus do not exist in thedatabase. This results in missed opportunities to maximize the potentialof synchronized advertising delivery because the content of thecommercial being aired or streamed to the TV largely determines whattype of ad should be delivered to the mobile device. One method ofexpanding the database with the new commercials is to obtain them fromadvertisers, ad agencies, broadcast networks, and the like. However,this is a laborious process and many of these entities will not providethe necessary information. Accordingly, there is a need to automaticallydetect unknown commercials directly from a video data stream the firsttime that they are aired or streamed, so that the database can be veryquickly updated.

SUMMARY OF THE PRESENT INVENTION

Unknown potential commercials are detected in a video data stream thatcontains segments of program type content, and blocks of commercialcontent. Each block includes a plurality of successive individualcommercials. A library of known commercials is maintained in a database.A video data stream is received in a video processing engine whichincludes a search engine that is in communication with the database. Thesearch engine identifies all known commercials in the video data streamand their respective start and end times. The video processing engineidentifies all time segments that are sandwiched between the knowncommercials. The video processing engine filters out as a potentialcommercial any identified time segments that are significantly longerthan the time length of a commercial. The video processing enginedesignates content of each of the time segments that were not filteredout as being one or more unknown potential commercials.

BRIEF DESCRIPTION OF THE DRAWINGS

Preferred embodiments of the present invention will now be described byway of example with reference to the accompanying drawings:

FIG. 1 shows a schematic diagram of a system for implementing onepreferred embodiment of the present invention.

FIG. 2 shows an overview of the process implemented by the system ofFIG. 1.

FIGS. 3-5 are flowcharts of preferred embodiments of the presentinvention implemented by the system of FIG. 1.

FIG. 6 is a high level view of selected fields of a database for use inthe system of FIG. 1.

DETAILED DESCRIPTION OF THE INVENTION

Certain terminology is used herein for convenience only and is not to betaken as a limitation on the present invention.

The words “a” and “an”, as used in the claims and in the correspondingportions of the specification, mean “at least one.”

I. Definitions

The following definitions are provided to promote understanding of thepresent invention.

-   video data stream (also, referred to interchangeably as a “TV    stream” and a “TV channel stream”)—A video data stream includes (i)    a conventional broadcast TV signal, typically delivered over a cable    or fiber optic network via a set top box, CableCARD® or the like to    a TV, (ii) an over-the-air (OTA) broadcast TV signal, and (iii)    streaming services that deliver video content to a TV device that is    connected to a viewer's home network. A video data stream may also    be referred to as a “stream of audiovisual data” or an “audiovisual    stream” since a video data stream typically includes audio.-   commercial (also, referred to interchangeably as an “advertisement”    or “ad”)—A “commercial” is an advertisement for a product or    service, and also includes advertising for program type content,    known in the TV industry as a “promo.” A commercial is thus    distinguishable from “program type content.” An example of “program    type content” is a TV show.-   commercial break (also, referred to interchangeably as a “block of    commercial content,” “commercial block,” “ad block,” or “ad    pod”)—Each commercial break includes a plurality of successive    individual commercials. That is, the commercials are aired    back-to-back in a set or group. Commercial breaks are interspersed    during a TV program. The total length of the commercial breaks aired    during a TV show is almost always significantly shorter than the    length of the TV show. Likewise, the length of one commercial break    is almost always significantly shorter than the lengths of the TV    show segments that precede and follow the commercial break. A    typical broadcast TV channel airs about 20 minutes of commercial    content per hour. One common format for a commercial break is to    show national advertisements first, followed by regional/local    advertisements, and concluding with promos.-   clip—The video data stream may be clipped between a start and stop    time so as to capture a segment of interest, typically a potential    commercial that has not yet been identified.

II. Detailed Disclosure

FIG. 1 shows a schematic diagram of a system 100 for implementing onepreferred embodiment of the present invention. A video processing engine102 receives one or more video data streams, such as one or more TVchannel streams. A typical cable network includes hundreds of channels,so in practice there will be hundreds of video streams, one for eachchannel. However, for simplicity, the preferred embodiment is describedin the context of one video data stream. The video processing engine 102includes a search engine 104 in communication with a database 106 (also,referred to herein as a “first database”) that maintains a library ofknown commercials 108. The search engine 104 continuously compares thevideo data stream to the library of commercials 108 in the database 106to identify known commercials. Search engines that perform this type ofrecognition are well-known in the art and are incorporated intoautomated content recognition (ACR) systems. One type of ACR systemhaving such a search engine uses audio fingerprints within video signalsto perform the content recognition. One commercially available audio ACRsystem is made by Audible Magic Corporation, Los Gatos, Calif. Anothercommercially available audio ACR system is Gracenote Entourage™commercially available from Gracenote, Inc., Emeryville, Calif. OtherACR systems are disclosed in U.S. Patent Nos. 2011/0289114 (Yu et al.),2013/0071090 (Berkowitz et al.), and 2013/0205318 (Sinha et al.), eachof which are incorporated by reference herein. Accordingly, the detailsof the search engine 104 and database 106 with respect to therecognition processing are not further described.

As is well-known in the art, search engines associated with ACR systemsperform the comparisons on representations of content, such asfingerprints of the content. Thus, in one preferred embodiment, thedatabase 106 maintains content fingerprints of known commercials forcomparison with fingerprints of content in the incoming video datastream.

Clips of the video data stream that are determined to represent one ormore commercials (using the process described below) and which are notin the library of known commercials 108 are presumed to be newcommercials or groups of new commercials and are electronicallycommunicated to a content processing platform 110 and stored in temporalor temporary database 112 (also, referred to herein as a “seconddatabase”) for subsequent review, classification and digital curationthat occurs a very brief time after storage. Upon proper identificationof the new commercials or groups of new commercials, they are added tothe library of known commercials 108. That is, the content processingplatform 110 performs human and/or automated review, classification, anddigital curation of the content. Various levels of automation may beemployed to aid in the review, classification and curation processes,such as logo/brand detection using audio and/or video analysis. After avideo clip is reviewed, it is deleted from the database 112. Any newvideo clips received by the content processing platform 110 are reviewedto determine if they are duplicates of video clips that are currently inthe database 112. If so, the new video clip is discarded to avoid havingto perform redundant review, classification and digital curation.

FIG. 2 shows an overview of the process implemented by the system 100.For simplicity, FIG. 2 only illustrates the search engine 104 and thedatabase 106. However, these elements work in conjunction with the videoprocessing engine 102 and content processing platform 110 shown inFIG. 1. For illustration purposes only, FIG. 2 shows a TV channel streamthat contains eight commercial ads, database 106′ that initiallycontains only five of the eight commercial ads, and the database 106″ asit appears after being updated with three new ads that appeared in theTV channel stream.

As discussed above, commercials (ads) are typically aired duringcommercial breaks of a TV show. FIG. 2 shows two such commercial breaks.In the first commercial break, commercials C1 and C2 are aired and areboth recognized by the system 100 because C1 and C2 both exist in thedatabase 106′. In the second commercial break, commercials C3, C4 and C5are aired and are also recognized by the system 100 because C3, C4 andC5 each exist in the database 106′. However, during the first commercialbreak, there is one time segment that is sandwiched between the twoknown commercials C1 and C2. Likewise, during the second commercialbreak, there are two time segments that are each sandwiched between twoknown commercials C3 and C4, and C4 and C5, respectively. The length ofeach of these three time segments generally match the short length of atypical commercial, compared to the much longer length of a TV showsegment, and thus it can be presumed that one or more commercials wereaired during each of these three time segments. Video clips are made ofthe content aired during these time segments and electronically sent tothe content processing platform 110 shown in FIG. 1 for further reviewand classification. In this example, each of these video clips weredetermined to be a single commercial. Accordingly, new commercials C6,C7 and C8 were added to the database 106″.

FIG. 3 is a flowchart of one preferred embodiment of the presentinvention implemented by the system 100. In this embodiment, it is notnecessary to detect the beginning and end of commercial breaks.

-   STEP 300: Receive a video data stream.-   STEP 302: Identify all known commercials in the video data stream    and their respective start and end times.-   STEP 304: Identify all time segments that are sandwiched between the    known commercials.-   STEP 306: Filter out as a potential commercial any identified time    segments that are significantly longer than the time length of a    commercial.-   STEP 308: Designate content of each of the time segments that were    not filtered out as being one or more unknown potential commercials.-   STEP 310: Clip the content of each of the time segments that were    designated as being one or more unknown commercials.

FIG. 4 is a flowchart of another preferred embodiment of the presentinvention implemented by the system 100. In this flowchart, it ispresumed that the beginning and end of commercial breaks can beaccurately detected.

-   STEP 400: Receive a video data stream-   STEP 402: Identify all known commercials in the video data stream    and their respective start and end times.-   STEP 404: Identify the segments of program type content and the    blocks of commercial content.-   STEP 406: Identify any non-contiguous time segments in the blocks of    commercial content that are not associated with a known commercial,    each time segment having a start and end time-   STEP 408: Designate content of each of the non-contiguous time    segments as being one or more unknown potential commercials.-   STEP 410: Clip the content of each of the non-contiguous time    segments that were designated as being one or more unknown    commercials.

FIG. 5 is a flowchart of another preferred embodiment of the presentinvention implemented by the system 100. In this flowchart, it is alsopresumed that the beginning and end of commercial breaks can beaccurately detected.

-   STEP 500: Detect that a commercial break has begun. Any combination    of known techniques may be used to make this determination.-   STEP 502: Evaluate the video data stream against the database 106 of    known commercials.-   STEP 504: Determine if an unknown video segment is detected. This is    a time segment wherein the content aired within the time segment    does not match a known commercial. The time segment should not be so    short as to capture very short transition periods between    commercials (e.g., 1 second). Also, if there is no content at all    (e.g., screen is black), this time segment should be ignored. To    ensure that this time segment is not accidentally detecting program    type content, the time segment should be ignored if it is greater    than a certain number of seconds, such as 180 seconds, which is the    length of two back-to-back 90 second commercials.-   STEP 506: If so, determine if it is sandwiched between known    commercials. If so, clip the content of the video segment (STEP    508).-   STEP 510: If an unknown video segment was detected that was not    sandwiched between known commercials, but was sandwiched between the    beginning of the commercial break and a first known commercial in    the commercial break, clip the content of the video segment (STEP    512).-   STEP 514: Detect the end of the commercial break.-   STEP 516: If an unknown video segment was detected that was not    sandwiched between known commercials, and was also not sandwiched    between the beginning of the commercial break and a first known    commercial in the commercial break, but was sandwiched between the    end of the commercial break and a last known commercial in the    commercial break, clip the content of the video segment (STEP 518).

The steps above will capture new commercials that appear at thebeginning and end of commercial breaks which are scenarios that are notdepicted in FIG. 2.

In scenarios where the beginning and end of commercial breaks cannot beaccurately detected, any of the following options may be implemented.

i. Limit detection of new commercials only to situations where theyappear between known commercials, effectively performing only steps502-508 of FIG. 5. Since the percentage of new commercials each day isrelatively low, and it is statistically likely that a new commercialwill air sandwiched between known commercials at some point early in itscampaign, the overall integrity of the database 106 will only beminimally impacted by this option. When implementing this option, itwill be necessary to filter out as a potential commercial any videosegments having time segments that are significantly longer than thetime length of a commercial. For example, referring to FIG. 2, the videosegment that is sandwiched between known commercials C2 and C3 isclearly part of the TV program and not a commercial.

ii. When a known commercial is detected after a significantcommercial-free time length that can be deduced to have been programtype content, perform additional audio and/or video analysis of thepreceding 1-2 minutes of time to determine if any commercialspotentially aired immediately preceding the detected known commercial.If a certain threshold of uncertainty is met indicating that there mayhave been commercial content in this preceding time period, clip thepreceding 1-2 minutes of time for further recognition processing. Thisprocess addresses potential unknown commercials that may have appearedat the beginning of a commercial break. A similar process may beperformed for unknown commercials that may have aired at the end of acommercial break, but which may be mistaken as part of the program typecontent. If a known commercial is detected, followed by a significantcommercial-free time length that can be deduced to have been programtype content, perform additional audio and/or video analysis of thesucceeding 1-2 minutes of time to determine if any commercialspotentially aired immediately after the detected known commercial.Again, if a certain threshold of uncertainty is met indicating thatthere may have been commercial content in this subsequent time period,clip the succeeding 1-2 minutes of time for further recognitionprocessing. These additional clipping and recognition processing mayalso be used for the filtered out time segments in STEP 306 of FIG. 3 toreduce the incidence of missing unknown commercials that appear at thebeginning or end of a commercial break.

In the processes described above, there could potentially be more thanone new commercial in an unknown video segment. However, in mostscenarios, the statistical likelihood is that there will only be one newcommercial in the unknown video segment, particularly if the videosegment has a length of about 15 or 30 seconds. However, it is notnecessary to determine how many commercials are in the unknown videosegment because this determination will be made in the contentprocessing platform 110.

FIG. 6 shows a high level view of selected fields of a database 106, andmore particularly, the library of known commercials 108 which are usedby the search engine 104 and which receive new entries from the contentprocessing platform 110. Selected fields include a unique identifier ofa commercial, a title given to the commercial, length of the commercial,content fingerprint and storage location. As is well-known in the art,ACR systems may use digital fingerprints for content recognitionmatching. A content fingerprint is typically composed of a string ofindividual fingerprints, each capturing a very small time length of thecontent's audio and/or video.

III. Additional Considerations

A. Tickers

Certain TV channels, such as sports channels and financial newschannels, scroll moving tickers along edges of the TV screen, typicallyin the upper or lower edge. Furthermore, the tickers often remain on theTV screen during commercial breaks. It is preferable to avoid processingTV channel streams that have tickers because the search engine 104 mayhave difficulty determining that a commercial aired with a ticker isactually the same commercial already stored in the library of knowncommercials. Furthermore, if a commercial is identified as a potentialnew commercial for failing to match a known commercial, it will bestored with the ticker, and thus will not exactly match the next viewingof the commercial which may have a different ticker stream (if aired onthe same channel), or no ticker at all, if aired on a different channel.To address this scenario, the following options may be employed:

i. The video processing engine 102 may optionally include a visualticker detector 114 to turn off processing of the video data stream upondetection of a ticker.

ii. Upon detection of the ticker, the video processing engine 102 maycrop out the ticker, restore the original aspect ratio, and continue toprocess the video data stream in the same manner as described above.

iii. Upon detection of the ticker, if certain predefined conditions andrules are met, the video processing engine 102 may simply continue toprocess the video data stream in an unaltered state (i.e., with theticker still in the video frames) in the same manner as described above.

While the presence of a ticker can be easily associated with channelsthrough human observation, automated methods can also be used to assistwith the determination of presence of ticker. As discussed above, thetickers are normally placed at the top or bottom of the screen coveringa banner area from edge to edge and information inside them moves in aspecific direction (left to right or right to left). One technique forticker detection is to calculate the motion vectors of the video signaland determine the areas where the motion is either stationary or slowlymoving in a left to right or right to left direction only. The areas inthe screen that over longer time scales (e.g., minutes or hours) arefound to exhibit the slowly moving behavior can be declared to containticker. Once detected, any of the options described above may beperformed.

B. Short Program Content

In some types of programming, such as portions of a sports game, thevideo data stream will not mimic the paradigm of FIG. 2 wherein theprogram type content has a time length that is significantly longer thanthe time length of a commercial. Instead, the program type content mayhave a time length that is similar in length, or even shorter, than thetime length of a commercial. If so, program type content may end upbeing clipped and sent for recognition processing since such contentwill not be filtered out by the filtering step 306 in the embodiment ofFIG. 3. However, this scenario will be statistically rare for most videodata streams and such program type content will be easily identified inthe recognition process as not being a commercial.

C. Audio Data Streaming

In one alternative embodiment, the system described above may be used todetect unknown potential commercials in an audio data stream, which mayinclude (i) a conventional broadcast audio signal, such as AM/FM orsatellite radio, or (ii) streaming services that deliver audio contentto a user's device that is connected to a network. The same systemdescribed above may be used to implement this embodiment wherein theaudio data stream is processed in the same manner as the audio portionof the video data stream and the segments are audio segments, andwherein the search engine 104 uses audio-based ACR.

The present invention may be implemented with any combination ofhardware and software. If implemented as a computer-implementedapparatus, the present invention is implemented using means forperforming all of the steps and functions described above.

When implemented in software, the software code for the video processingengine 102 and its search engine 104 can be executed on any suitableprocessor or collection of processors, whether provided in a singlecomputer or distributed among multiple computers.

The present invention can also be included in an article of manufacture(e.g., one or more non-transitory, tangible computer program products)having, for instance, computer readable storage media. The storage mediahas computer readable program code stored therein that is encoded withinstructions for execution by a processor for providing and facilitatingthe mechanisms of the present invention. The article of manufacture canbe included as part of a computer system or sold separately.

The storage media can be any known media, such as computer memory, oneor more floppy discs, compact discs, optical discs, magnetic tapes,flash memories, circuit configurations in Field Programmable Gate Arraysor other semiconductor devices, or other tangible computer storagemedium. The storage media can be transportable, such that the program orprograms stored thereon can be loaded onto one or more differentcomputers or other processors to implement various aspects of thepresent invention as discussed above.

The computer(s) used herein for the video processing engine 102 and itssearch engine 104 may be embodied in any of a number of forms, such as arack-mounted computer, a desktop computer, a laptop computer, or atablet computer. Additionally, a computer may be embedded in a devicenot generally regarded as a computer but with suitable processingcapabilities, including a Personal Digital Assistant (PDA), a smartphone or any other suitable portable, mobile, or fixed electronicdevice.

The video processing engine 102, database 106 and content processingplatform 110 may be interconnected by one or more networks in anysuitable form, including as a local area network or a wide area network,such as an enterprise network or the Internet. Such networks may bebased on any suitable technology and may operate according to anysuitable protocol and may include wireless networks, wired networks orfiber optic networks.

The various methods or processes outlined herein may be coded assoftware that is executable on one or more processors that employ anyone of a variety of operating systems or platforms. Additionally, suchsoftware may be written using any of a number of suitable programminglanguages and/or programming or scripting tools, and also may becompiled as executable machine language code or intermediate code thatis executed on a framework or virtual machine.

The terms “program” or “software” are used herein in a generic sense torefer to any type of computer code or set of computer-executableinstructions that can be employed to program a computer or otherprocessor to implement various aspects of the present invention asdiscussed above. The computer program need not reside on a singlecomputer or processor, but may be distributed in a modular fashionamongst a number of different computers or processors to implementvarious aspects of the present invention.

Computer-executable instructions may be in many forms, such as programmodules, executed by one or more computers or other devices. Generally,program modules include routines, programs, objects, components, datastructures, and the like, that perform particular tasks or implementparticular abstract data types. The functionality of the program modulesmay be combined or distributed as desired in various embodiments.

Data structures may be stored in computer-readable media in any suitableform. For simplicity of illustration, data structures may be shown tohave fields that are related through location in the data structure.Such relationships may likewise be achieved by assigning storage for thefields with locations in a computer-readable medium that conveysrelationship between the fields. However, any suitable mechanism may beused to establish a relationship between information in fields of a datastructure, including through the use of pointers, tags, or othermechanisms that establish relationship between data elements.

Preferred embodiments of the present invention may be implemented asmethods, of which examples have been provided. The acts performed aspart of the methods may be ordered in any suitable way. Accordingly,embodiments may be constructed in which acts are performed in an orderdifferent than illustrated, which may include performing some actssimultaneously, even though such acts are shown as being sequentiallyperformed in illustrative embodiments.

It will be appreciated by those skilled in the art that changes could bemade to the embodiments described above without departing from the broadinventive concept thereof. It is understood, therefore, that thisinvention is not limited to the particular embodiments disclosed, but itis intended to cover modifications within the spirit and scope of thepresent invention.

What is claimed is:
 1. A method of detecting unknown potentialcommercials in a video data stream that contains (i) segments of programtype content, and (ii) blocks of commercial content, each blockincluding a plurality of successive individual commercials, wherein alibrary of known commercials is maintained in a first database, themethod comprising: (a) receiving a video data stream in a videoprocessing engine; (b) identifying, by a search engine that is incommunication with the video processing engine and the first database,all known commercials in the video data stream and their respectivestart and end times; (c) identifying, by the video processing engine,all time segments that are sandwiched between the known commercials; (d)filtering out, by the video processing engine, as a potential commercialany time segments identified in step (c) that are longer than 180seconds; (e) designating, by the video processing engine, content ofeach of the time segments that were not filtered out in step (d) asbeing one or more unknown potential commercials; (f) detecting, with avisual ticker detector, a ticker in the video data stream; and (g)turning off any processing of the video data stream by the videoprocessing engine upon detection of a ticker.
 2. An apparatus fordetecting unknown potential commercials in a video data stream thatcontains (i) segments of program type content, and (ii) blocks ofcommercial content, each block including a plurality of successiveindividual commercials, wherein a library of known commercials ismaintained in a first database, the apparatus comprising: (a) a videoprocessing engine that receives a video data stream; (b) a search enginein communication with the video processing engine and the first databasethat identifies all known commercials in the video data stream and theirrespective start and end times, wherein the video processing engine isfurther configured to: (i) identify all time segments that aresandwiched between the known commercials, (ii) filter out as a potentialcommercial any identified time segments that are longer than 180seconds, and (iii) designate content of each of the time segments thatwere not filtered out as being one or more unknown potentialcommercials; and (c) a visual ticker detector that detects a ticker inthe video data stream, wherein any processing of the video data streamby the video processing engine is turned off upon detection of a ticker.3. A method of detecting unknown potential commercials in a video datastream that contains (i) segments of program type content, and (ii)blocks of commercial content, each block including a plurality ofsuccessive individual commercials, wherein a library of knowncommercials is maintained in a first database, the method comprising:(a) receiving a video data stream in a video processing engine; (b)identifying, by a search engine that is in communication with the videoprocessing engine and the first database, all known commercials in thevideo data stream and their respective start and end times; (c)identifying, by the video processing engine, the segments of programtype content and the blocks of commercial content; (d) identifying, bythe video processing engine, any non-contiguous time segments in theblocks of commercial content that are not associated with a knowncommercial, each time segment having a start and end time; (e)designating content of each of the non-contiguous time segmentsidentified in step (d) as being one or more unknown potentialcommercials; (f) detecting, with a visual ticker detector, a ticker inthe video data stream; and (g) turning off any processing of the videodata stream by the video processing engine upon detection of a ticker.4. An apparatus for detecting unknown potential commercials in a videodata stream that contains (i) segments of program type content, and (ii)blocks of commercial content, each block including a plurality ofsuccessive individual commercials, wherein a library of knowncommercials is maintained in a first database, the apparatus comprising:(a) a video processing engine that receives a video data stream; (b) asearch engine in communication with the video processing engine and thefirst database that identifies all known commercials in the video datastream and their respective start and end times, wherein the videoprocessing engine is further configured to: (i) identify the segments ofprogram type content and the blocks of commercial content; (ii) identifyany non-contiguous time segments in the blocks of commercial contentthat are not associated with a known commercial, each time segmenthaving a start and end time, and (iii) designate content of each of theidentified non-contiguous time segments as being one or more unknownpotential commercials; and (c) a visual ticker detector that detects aticker in the video data stream, wherein any processing of the videodata stream by the video processing engine is turned off upon detectionof a ticker.